package com.danciyixue.boot.dcyx.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;

/**
 * 用户单元学习状态表单对象
 *
 * @author youlaitech
 * @since 2025-06-27 11:06
 */
@Getter
@Setter
@Schema(description = "用户单元学习状态表单对象")
public class UnitStudyStatusForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "状态记录ID")
    private Long id;

    @Schema(description = "用户ID")
//    @NotNull(message = "用户ID不能为空")
    private Long userId;

    @Schema(description = "单元ID")
    @NotNull(message = "单元ID不能为空")
    private Long unitId;

    @Schema(description = "来源: 0 记忆,1 听写,2 默写")
    private Integer source;

    @Schema(description = "记忆完成状态(1:完成)")
    private Integer memoryCompleted;

    @Schema(description = "记忆测试分数")
    private Integer memoryScore;

    @Schema(description = "记忆测试用时(秒)")
    private Integer memoryTimeConsuming;

    @Schema(description = "听写完成状态(1:完成)")
    private Integer dictationCompleted;

    @Schema(description = "听写测试分数")
    private Integer dictationScore;

    @Schema(description = "听写测试用时(秒)")
    private Integer dictationTimeConsuming;

    @Schema(description = "默写完成状态(1:完成)")
    private Integer writingCompleted;

    @Schema(description = "默写测试分数")
    private Integer writingScore;

    @Schema(description = "默写测试用时(秒)")
    private Integer writingTimeConsuming;

//    @Schema(description = "整体完成状态(1:完成)")
//    private Integer overallCompleted;
}
